package com.zzyl.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzyl.member.domin.Family;
import com.zzyl.member.dto.FamilyDto;
import com.zzyl.member.dto.QueryDevicePropertyStatusDto;
import com.zzyl.member.vo.FamilyMyVo;
import com.zzyl.member.vo.FamilyPage;
import com.zzyl.nursing.dto.DeviceDto;

import java.util.List;
import java.util.Map;

/**
 * TODO
 *
 * @Author mr.wu
 * @Date 2025/10/29 19:35
 */
public interface FamilyService extends IService<Family> {
    /**
     * 家属添加老人信息（微信端）
     * @param dto
     */
    void add(FamilyDto dto);

    /**
     * 查询家人列表
     * @return
     */
    List<FamilyMyVo> selectMyFamily();

    /**
     * 查看家人列表（分页查询）
     * @return
     */
    List<FamilyPage> listByPage(Integer page, Integer pageSize);

    /**
     * 查询健康数据
     *
     * @param dto 包含deviceName 以及propertyKey
     * @return
     */
    Map<String, Object> queryDevicePropertyStatus(DeviceDto dto);

    /**
     * 按天统计查询指标数据
     *
     * @param dto
     * @return
     */
    List<Map<String, Object>> queryDeviceDataListByDay(QueryDevicePropertyStatusDto dto);

    /**
     * 按周统计查询指标数据
     * @param dto
     * @return
     */
    List<Map<String, Object>> queryDeviceDataListByWeek(QueryDevicePropertyStatusDto dto);

    /**
     * 解除绑定
     * @param id
     */
    void deleteById(Integer id);
}